Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

264
Views
Función de inicio de sesión que guarda el token en localStorage como [Objeto][Objeto]

Estoy tratando de iniciar sesión en mi cuenta de usuario que está guardada en la base de datos y adjuntar un token a ese nombre de usuario con 'jwt-token'.

 router.post('/users/login', (req, res) => { User.authenticate()(req.body.username, req.body.password, (err, user) => { if (err) { console.log(err) } res.json(user ? jwt.sign({ id: user._id }, process.env.SECRET) : null) }) })

Sin embargo, cuando inicio sesión en la cuenta, el token se guarda como [Objeto][Objeto] en el almacenamiento local a través de esta función aquí,

 // when a user clicks login const handleLogin = (event) => { event.preventDefault(); axios.post('/api/users/login', { username: userState.username, password: userState.password }).then(token => { console.log(token) setLoginState(true) localStorage.setItem('username', userState.username) localStorage.setItem('token', token) }).catch(err => { console.log(err) })

¿Cuál es la razón por la que el token se guarda como un objeto? ¿No está siendo creado correctamente por mi ruta? ¿O no lo estoy llamando correctamente en mi llamada .then ? Cualquier idea sería apreciada. Todavía trato de aprender todo lo que puedo sobre el trabajo de fondo y parece que tengo problemas en cada paso.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Tenemos que clasificar mientras almacenamos objetos en el almacenamiento y analizar los objetos almacenados mientras los recuperamos.

 // Put the object into storage localStorage.setItem('username', JSON.stringify(username)); // Retrieve the object from storage var retrievedUsername= localStorage.getItem('username'); console.log('retrievedUsername: ', JSON.parse(retrievedUsername));
about 4 years ago · Juan Pablo Isaza Report

0

localStorage.setItem() guarda información como cadenas, por lo que ve que se guarda " [Objeto][Objeto] ", ya que eso es lo que está recibiendo.

Por lo tanto, debe transformar su objeto en una cadena antes de guardarlo.

Puede lograr esto usando la función JSON.stringify() .

Nota: tendrá que volver a transformar la Cadena en un objeto cuando necesite obtenerla. Puede lograr esto usando JSON.parse()

Ejemplo:

 localStorage.setItem('username', JSON.stringify(userState.username)) localStorage.setItem('token', JSON.stringify(token)) JSON.parse(localStorage.getItem('username')) JSON.parse(localStorage.getItem('token'))
about 4 years ago · Juan Pablo Isaza Report

0

la promesa de axios devuelve un objeto de respuesta que tiene un atributo de datos. Para acceder al token, debe llamar a res.data y almacenarlo así localStorage.setItem('token',res.data)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!